package marvin;

public class Marienkaefer {

    private int anzahlPunkte;
    private int anzahlFlügel;
    private int anzahlBeinchen;
    private int alter;
    private String farbe;
    private String farbePunkte;
    private boolean tot;
    private boolean geschlecht;
    private boolean satt;
    private int mageninhalt;

    public Marienkaefer(int anzahlPunkte, String farbePunkte, String farbe, boolean geschlecht) {

        this.anzahlPunkte = anzahlPunkte;
        this.anzahlFlügel = 2;
        this.anzahlBeinchen = 6;
        this.alter = 0;
        this.farbe = farbe;
        this.farbePunkte = farbePunkte;
        this.tot = false;
        this.geschlecht = geschlecht;
        this.satt = false;
        this.mageninhalt = 0;
    }

    public void paaren(Marienkaefer partner) {
	if(!partner.isTot() && !this.isTot())
        {	       
	    if(this.geschlecht != Partner.geschlecht)            
                System.out.println("Juhu! Die Marienkäfer haben sich gepaart.");
            else
		System.out.println("Marienkäfer gleichen Geschlechts können sich nicht paaren!");

        }
        else
            System.out.println("Schäm dich! Mindestens einer der Marienkäfer ist tot.");            
    }

    public void frisst(int blattläuse)
    {
	if(!this.isTot())
	{
	       if(mageninhalt < 10)
	       {
        	   mageninhalt = mageninhalt + blattläuse;
	           if(mageninhalt > 10)
        	       mageninhalt = 10;
	           if(mageninhalt > 5)
        	   {
	                satt = true;
                	System.out.println("Der Magen des Käfers enthält nun " + mageninhalt + " Blattläuse.");
        	   }
	       }
	       else
        	   System.out.println("Der Magen des Käfers ist bereits voll!");
	}
    }

    public int getAnzahlPunkte() {
        return anzahlPunkte;
    }

    public int getAnzahlFlügel() {
        return anzahlFlügel;
    }

    public int getAnzahlBeinchen() {
        return anzahlBeinchen;
    }

    public int getAlter() {
        return alter;
    }

    public void setAlter(int alter){
        if(alter <= 10 && alter >= 0)
            this.alter = alter;
        else
            System.out.println("Bitte gültiges Alter eingeben.");
    }

    public String getFarbePunkte() {
        return farbePunkte;
    }

    public String getFarbe() {
        return farbe;
    }

    public boolean isTot() {
        return tot;
    }

    public void setTot() {
	if(!isTot())
	        tot = true;
	else
		System.out.println("Der Marienkäfer ist bereits tot!");
    }

    public boolean isGeschlecht() {
        return geschlecht;
    }

    public boolean isSatt() {
        return satt;
    }

    public int getMageninhalt() {
        return mageninhalt;
    }
}
